#ifndef DD_OBJECT_H
#define DD_OBJECT_H

/* THIS IS STILL EXPERIMENTAL */

/* object is a mesh that exists inside a 3d world
 * its a simple combination of a mesh and a matrix
 */

#include "dd_mesh.h"
#include "dd_matrix.h"

/* object struct */
struct dd_object {
	struct dd_mesh *mesh;
	float mat[16];
};

/* init object with a mesh and a matrix, if any of those is 0, just
 * allocate new memory for them, and expect user to load them manually
 * (see dd_mesh.h and dd_matrix.h on how to do that)
 */
int dd_object_init(struct dd_object *o, struct dd_mesh *mesh, float mat[16]);

/* draw */
void dd_object_draw(struct dd_object *o);

#endif
